package business_opportunity

type GetBuildingDetailRequest struct {
	Id       string `json:"id" form:"id" binding:"required" err:"项目id不能为空"`
	Page     int32  `json:"page" form:"page"`
	PageSize int32  `json:"page_size" form:"page_size"`
}

type GetBuildingDetailBasicResponse struct {
	Id                                 string            `json:"id"`
	Title                              string            `json:"title"`
	ProjectNum                         string            `json:"project_num"`
	ProjectProvinceNum                 string            `json:"project_province_num"`
	BuildCorpName                      string            `json:"build_corp_name"`
	BuildCorpOrganizingCode            string            `json:"build_corp_organizing_code"`
	UpdateTime                         string            `json:"update_time"`
	TotalInvestment                    string            `json:"total_investment"`
	TotalArea                          string            `json:"total_area"`
	Province                           string            `json:"province"`
	City                               string            `json:"city"`
	ProjectType                        string            `json:"project_type"`
	ProjectCategory                    string            `json:"project_category"`
	ConstructionNature                 string            `json:"construction_nature"`
	DataLevel                          string            `json:"data_level"`
	AdministrativeArea                 string            `json:"administrative_area"`
	Address                            string            `json:"address"`
	StartDate                          string            `json:"start_date"`
	EndDate                            string            `json:"end_date"`
	ProjectApprovalNum                 string            `json:"project_approval_num"`
	ProjectApprovalLevel               string            `json:"project_approval_level"`
	ProjectApprovalAuthority           string            `json:"project_approval_authority"`
	ProjectApprovalDate                string            `json:"project_approval_date"`
	FundingSource                      string            `json:"funding_source"`
	StateOwnedCapitalContributionRatio string            `json:"state_owned_capital_contribution_ratio"`
	IsKeyProject                       string            `json:"is_key_project"`
	IsPriceGtAvg                       string            `json:"is_price_gt_avg"`
	ConstructionScale                  string            `json:"construction_scale"`
	OpptyStatus                        string            `json:"oppty_status"`
	RelatedCompany                     []*RelatedCompany `json:"related_company"`
}
type RelatedCompany struct {
	CompanyName       string   `json:"company_name"`
	OrganizingCode    string   `json:"organizing_code"`
	TopCompanyName    string   `json:"top_company_name"`
	TopOrganizingCode string   `json:"top_organizing_code"`
	Role              string   `json:"role"`
	Labels            []string `json:"labels"`
}

// RelatedOwner 关联负责人
type RelatedOwner struct {
	Name   string `json:"name"`
	Mobile string `json:"mobile"`
	Role   string `json:"role"`
}

type GetBuildingDetailTargetNumResponse struct {
	Bid                  int32 `json:"bid"`
	Contract             int32 `json:"contract"`
	WorkingDrawingAudit  int32 `json:"working_drawing_audit"`
	ConstructionPermit   int32 `json:"construction_permit"`
	CompletionAcceptance int32 `json:"completion_acceptance"`
	CompletionFiling     int32 `json:"completion_filing"`
	ParticipatingUnit    int32 `json:"participating_unit"`
	Contact              int32 `json:"contact"`
}

type GetBuildingDetailBidListItem struct {
	BidType        string `json:"bid_type"`
	Id             int32  `json:"id"`
	OrganizingCode string `json:"organizing_code"`
	PersonName     string `json:"person_name"`
	ProjectId      string `json:"project_id"`
	ProjectNum     string `json:"project_num"`
	TenderUnit     string `json:"tender_unit"`
	WinbidAmount   string `json:"winbid_amount"`
	WinbidDate     string `json:"winbid_date"`
}

type GetBuildingDetailBidListResponse struct {
	Total int32                           `json:"total"`
	List  []*GetBuildingDetailBidListItem `json:"list"`
}

type GetBuildingDetailParticipatingUnitsItem struct {
	Id             string `json:"id"`
	ProjectId      string `json:"project_id"`
	ProjectNum     string `json:"project_num"`
	UnitName       string `json:"unit_name"`
	OrganizingCode string `json:"organizing_code"`
	CompanyRole    string `json:"company_role"`
	PersonName     string `json:"person_name"`
	PersonPhone    string `json:"person_phone"`
}

type GetBuildingDetailParticipatingUnitsResponse struct {
	Total int32                                      `json:"total"`
	List  []*GetBuildingDetailParticipatingUnitsItem `json:"list"`
}

type GetBuildingDetailContractListItem struct {
	ContractAmount                    string `json:"contract_amount"`
	ContractIssuingUnit               string `json:"contract_issuing_unit"`
	ContractIssuingUnitOrganizingCode string `json:"contract_issuing_unit_organizing_code"`
	ContractType                      string `json:"contract_type"`
	ContractingUnit                   string `json:"contracting_unit"`
	ContractingUnitOrganizingCode     string `json:"contracting_unit_organizing_code"`
	Id                                int32  `json:"id"`
	ProjectId                         string `json:"project_id"`
	ProjectNum                        string `json:"project_num"`
	SigningDate                       string `json:"signing_date"`
	UpdateTime                        string `json:"update_time"`
}

type GetBuildingDetailContractListResponse struct {
	Total int32                                `json:"total"`
	List  []*GetBuildingDetailContractListItem `json:"list"`
}

type GetBuildingDetailWorkingDrawingAuditItem struct {
	Id                             int32  `json:"id"`
	IsCensorWfqtCount              int32  `json:"is_censor_wfqt_count"`
	IsFirstPass                    int32  `json:"is_first_pass"`
	ProjectId                      string `json:"project_id"`
	ProjectNum                     string `json:"project_num"`
	ReviewAgencyUnit               string `json:"review_agency_unit"`
	ReviewAgencyUnitOrganizingCode string `json:"review_agency_unit_organizing_code"`
	ReviewCompletionDate           string `json:"review_completion_date"`
	UpdateTime                     string `json:"update_time"`
}

type GetBuildingDetailWorkingDrawingAuditResponse struct {
	Total int32                                       `json:"total"`
	List  []*GetBuildingDetailWorkingDrawingAuditItem `json:"list"`
}

type GetBuildingDetailConstructionPermitItem struct {
	Area                           string `json:"area"`
	CertificateIssueDate           string `json:"certificate_issue_date"`
	ConstructionUnit               string `json:"construction_unit"`
	ConstructionUnitOrganizingCode string `json:"construction_unit_organizing_code"`
	ContractAmount                 string `json:"contract_amount"`
	Id                             int32  `json:"id"`
	ProjectId                      string `json:"project_id"`
	ProjectNum                     string `json:"project_num"`
	SupervisionUnit                string `json:"supervision_unit"`
	SupervisionUnitOrganizingCode  string `json:"supervision_unit_organizing_code"`
}

type GetBuildingDetailConstructionPermitResponse struct {
	Total int32                                      `json:"total"`
	List  []*GetBuildingDetailConstructionPermitItem `json:"list"`
}

type GetBuildingDetailCompletionFilingItem struct {
	ActualConstructionScale string `json:"actual_construction_scale"`
	ActualCost              string `json:"actual_cost"`
	ActualStartDate         string `json:"actual_start_date"`
	FilingDate              string `json:"filing_date"`
	Id                      int32  `json:"id"`
	ProjectId               string `json:"project_id"`
	ProjectNum              string `json:"project_num"`
	UpdateTime              string `json:"update_time"`
}

type GetBuildingDetailCompletionFilingResponse struct {
	Total int32                                    `json:"total"`
	List  []*GetBuildingDetailCompletionFilingItem `json:"list"`
}
